package com.softer.chengxin.score.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.softer.chengxin.common.domin.Page;
import com.softer.chengxin.common.util.DateFormatUtil;
import com.softer.chengxin.score.dao.SDManagerDao;
import com.softer.chengxin.score.dao.ScoreManagerDao;
import com.softer.chengxin.score.entity.ScoreComposite;
import com.softer.chengxin.score.entity.ScoreCompositeProvince;
import com.softer.chengxin.score.service.ScoreManagerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author Gong Zhiyang
 * @date 2018/10/12
 */
@Service
public class ScoreManagerServiceImpl implements ScoreManagerService {
    @Autowired
    private ScoreManagerDao scoreManagerDao;
    @Autowired
    private SDManagerDao managerDao;
    /**
     * 获取企业信用得分
     *
     * @param id 企业ID
     * @return 得分情况
     */
    @Override
    public ScoreComposite getScore(Integer id) {
        //获取主管部门定义的年份
        String year = DateFormatUtil.getSysYear();
        //得到该企业当前年度的record表信息
        return managerDao.getScoreComposite(id, year);
    }

    /**
     * 获取企业信用等级列表
     *
     * @param page        页面实体
     * @param scoreComposite 查询实体
     * @return 信用等级集合
     */
    @Override
    public PageInfo<ScoreComposite> getScoreList(Page page, ScoreComposite scoreComposite) {
        PageHelper.startPage(page.getPage(), page.getLimit());
        List<ScoreComposite> list = scoreManagerDao.getScoreList(scoreComposite);
        return new PageInfo<>(list);
    }

    /**
     * 获取省平台推送的
     * 企业信用等级，总得分，优良信息得分，负面信息得分，基础信息得分
     *@param id 企业ID
     * @return 企业信用得分
     */
    @Override
    public ScoreCompositeProvince getScoreFromProvince(Integer id) {
        //获取主管部门定义的年份
        String year = DateFormatUtil.getSysYear();
        //得到该企业当前年度的record表信息
        return managerDao.getScoreCompositeFromProvince(id, year);
    }
    /**
     * 获取省平台推送的 企业信用等级列表
     *
     * @param page           页面实体
     * @param scoreComposite 查询实体
     * @return 信用等级集合
     */
    @Override
    public PageInfo<ScoreCompositeProvince> getScoreListFromProvince(Page page, ScoreComposite scoreComposite) {
        PageHelper.startPage(page.getPage(), page.getLimit());
        List<ScoreCompositeProvince> list = scoreManagerDao.getScoreListFromProvince(scoreComposite);
        return new PageInfo<>(list);
    }

}
